package day8;
//测试抽象的（抽象方法和抽象类）
//如果类中存在抽象方法，该类一定是抽象类
//反之，抽象类可以没有抽象方法
public abstract class TestAbstract {
    //只有声明 没有实现：抽象方法
    public abstract void test();
    public abstract int test5(int a,int b);
    //成员变量
    String a;
    //静态变量
    static String b;
    //普通方法
    public void test2(){}
    //静态方法
    public static void test3(){}
    //构造方法
    public TestAbstract(){}

    public static void main(String[] args) {
        //抽象类不能被实例化(new),为什么？
        //抽象类里面可能存在抽象方法（方法只有一半，没有写完）
        //除非：通过匿名内部类，把没有写完的代码写完（方法重写）
        TestAbstract ta=new TestAbstract(){
            String name;
            public void test4(){}
            @Override
            public void test() {

            }

            @Override
            public int test5(int a, int b) {
                return 0;
            }

        };
    }
}
//快捷重写父类方法：ctrl+o
class ChildAbstract extends TestAbstract{
    @Override
    public void test(){}

    @Override
    public int test5(int a, int b) {
        return 0;
    }

}